Advances in computing technology enable resource providers (e.g., providers of content, applications, and so on) to vary the experiences that different users have when interacting with resources. One example of varying a user experience, is to vary the content shown to different users who visit a same web page. Resource providers, in this case a website provider, can vary user experiences based on information associated with the different users, such as a browser used to access the web page, a device via which the web page is accessed, demographic information of the users, status of the users as being authenticated or unauthenticated to the website, and so forth.
One approach for varying user experiences with resources, and tracking how the varied experiences affect user interaction with those resources or related resources, is called “AB testing”. In “AB testing” a resource provider delivers at least two different versions of a resource and measures differences in user interaction between the versions. Generally, this approach can be used to determine whether new features of a resource (e.g., additional, different, or less functionality, different content, rearrangement of a user interface, and so forth) have a positive, negative, or no effect on user interaction with the resource.
In application, AB testing may cause experiences of different users who are unauthenticated to a resource to be varied. Accordingly, one group of unauthenticated users may be presented with a first version of the resource (e.g., a control version of the resource) and a different group of unauthenticated users may be presented with a second version (e.g., a variation of the resource from the control version, which has one or more different features from the control version). At some point, a user may authenticate, such as by signing-in with a username and password. Ideally, after authentication the user is presented with a version of the resource that includes resource features that were already accessed so that the user experience is consistent. In other words, if the user is presented the control version when unauthenticated, then when authenticated, the user is also presented features corresponding to the control version.
Conventional techniques for enabling consistent user experiences between unauthenticated and authenticated states have several drawbacks, however. One conventional technique uses “cookies”. Although cookies enable features presented to an unauthenticated user to be tracked, the data that cookies store may be generated for different users or for different interaction sessions. Further, cookies are not a secure mechanism for storing potentially identifying data. Cookies also do not guarantee that a particular user who logs-in to different browsers or uses different devices will be presented with consistent features across the different browsers and devices. Broadly speaking, some conventional techniques are unable to keep track of users across different devices or across different applications, e.g., across different web browsers. This can result in presenting users with inconsistent features when switching between devices or applications. Thus, conventional techniques suffer from a variety of drawbacks, some of which may result in a failure to accurately capture user sentiment toward different features of a resource.